#ifndef __ALG_H
#define __ALG_H

#include <stdint.h>

namespace utils::alg {

inline uint8_t xor_sum(const uint8_t *buf, uint16_t len) {
    uint8_t s = 0;
    for (uint16_t i = 0; i < len; i++) {
        s ^= buf[i];
    }
    return s;
}

template <typename T> inline T abs(T a, T b) {
    if (a > b) {
        return a - b;
    }
    return b - a;
}

} // namespace utils::alg

#endif
